package com.siruier.boss.ui.helper

import com.siruier.boss.api.LOGIN_API_SERVICE
import com.siruier.boss.api.SysConfig
import com.siruier.boss.api.core.launchUI
import com.siruier.boss.api.core.toData
import com.siruier.boss.ui.base.BaseActivity

object AppConfigHelper {

    private var mSysConfig: SysConfig? = null

    fun BaseActivity<*>.loadConfig(callback: (SysConfig) -> Unit) {
        launchUI({
            mSysConfig = sysConfig()
            if (mSysConfig != null) {
                callback.invoke(mSysConfig!!)
            }
        })
    }

    suspend fun sysConfig(): SysConfig? {
        if (mSysConfig != null) {
            return mSysConfig
        }
        mSysConfig = LOGIN_API_SERVICE.sysConfig().toData()
        return mSysConfig
    }
}